<h1>Overview of Primary Directories</h1>
<p>The Trongate Framework is a structured collection of directories and files designed to streamline the web development process. Below is a concise summary of each directory's purpose.</p>
<div class="text-center">
    <figure>
        <img src="https://trongate.io/docs/images/21/trongateS9Tm.png" alt="The contents of a basic Trongate web application" style="width:100%">
        <figcaption>The contents of a basic Trongate Web Application.</figcaption>
    </figure>
</div>
<h2>The Engine Directory</h2>
<p>The <strong>engine</strong> directory contains the core functionality of the Trongate framework, including files responsible for loading classes, handling routes, and providing helper functions. Modifying files within this directory is strongly discouraged unless absolutely necessary and fully understood.</p>
<h2>The Config Directory</h2>
<p>The <strong>config</strong> directory stores essential configuration settings for your application, such as the base URL, environment settings, and default controllers. These settings are globally accessible throughout the application.</p>
<div class="alert alert-danger">
    <p>Never deploy a Trongate web application with the "ENV" setting configured to "dev".</p>
</div>
<h2>The Modules Directory</h2>
<p>The <strong>modules</strong> directory organizes distinct components of the Trongate application, each referred to as a <strong>module</strong>. Modules encapsulate all functionality required for a specific feature, making them self-contained and reusable. Typically, a Trongate module includes the following subdirectories:</p>
<ul>
    <li><strong>Controllers:</strong> Handle the business logic of the module.</li>
    <li><strong>Views:</strong> Manage the presentation layer and user interface elements.</li>
    <li><strong>Assets:</strong> Store related files such as CSS, JavaScript, and images.</li>
</ul>
<h2>The Templates Directory</h2>
<p>The <strong>templates</strong> directory is used for storing HTML templates. Unlike other frameworks that rely on separate templating engines, Trongate leverages PHP itself as its templating engine. This approach simplifies the learning curve and enhances performance.</p>
<h2>The Public Directory</h2>
<p>The <strong>public</strong> directory serves as the primary entry point for a Trongate web application, containing the <code>index.php</code> file. It also houses assets such as CSS, JavaScript, and images that are directly served to clients.  Entire HTML themes can also be stored within the public directory.</p>
<div class="alert alert-warning">
    <p>The <strong>public</strong> and <strong>engine</strong> directories contain essential license files. These files include specific framework version details and are critical for managing updates via the Trongate Desktop App. Modifying or removing these files may disrupt the update process and should be avoided to maintain system integrity.</p>
</div>